#include <iostream>
#include <algorithm>
#include <functional>
#include <vector>

using namespace std;
using namespace std::placeholders;

bool func(const int x, int i)
{
    return x > i;
}

bool func1(const int x)
{
    return x > 2;
}

int main(int argc, char *argv[])
{
    vector<int> vi{1, 1, 2, 3, 4};
    //auto it = find_if(vi.begin(), vi.end(), bind(func, _1, 2));
    auto it = find_if(vi.begin(), vi.end(), func1);

    cout << it - vi.begin() + 1 << " " << *it << endl;
    return 0;
}
